package net.huang.libManager.controller;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.websocket.Session;

import org.apache.catalina.User;

import net.huang.libManager.domain.Manager;

/**
 * 用户登录状态判断
 */
@WebServlet("/IndexServlet")
public class IndexServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public IndexServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		// 获取保存用户信息的Session
		HttpSession session = request.getSession();
		Manager m = (Manager) session.getAttribute("manager");
		
		// 判断登录的状态
		if (m == null) {
		    response.getWriter().print("您还没有登录，请<a href='login.html'>登录</a>");
		} else {
		    response.getWriter().print("您已经登录，欢迎您！！！" + m.getMid() + "3秒后进入图书"
		            + "管理管理系统..." + "<a href='LogoutServlet'>退出</a>");
		}
		// 3.三秒后跳转到index.jsp
		// "Refresh": 这是HTTP响应头的一个特殊字段，用于指示浏览器在特定时间后刷新页面。
		// "3;URL=index.jsp": 这是"Refresh"头的值，其中3表示3秒后刷新，URL=index.jsp表示刷新后应导航到的URL。
		/*
		但是，需要注意的是，使用HTTP "Refresh"头进行页面重定向通常不是最佳做法，因为它依赖于浏览器的行
		为（即，不是所有的浏览器都完全遵循这个头），并且它可能导致用户体验不佳（如，在刷新前显示等待消息）
		。更好的做法是使用HTTP重定向状态码（如302或303）或直接在服务器端发送重定向响应（例如，在Servlet
		中使用response.sendRedirect("index.jsp");）
		 */
		response.setHeader("Refresh", "3;URL=index.jsp");
		
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}
